package com.wisdytech.linkdcs.configuration.service;

import com.wisdytech.linkdcs.configuration.dto.ConfigurationEqDto;
import com.wisdytech.linkdcs.equipment.dto.EquipAlarmDataDto;
import io.netty.channel.Channel;
import org.springframework.web.socket.WebSocketSession;

import java.util.List;

/**
 * 组态数据服务
 * @author dlb
 *
 */
public interface ITtEqConfigurationDataService {

	/**
	 * 根据组态记录id查找记录中的设备信息与对应的参数信息
	 * @param id 组态记录id
	 * @return 组态设备信息对象
	 */
	List<ConfigurationEqDto> getConfigurationEqLists(String id);

	/**
	 * 推送设备信息
	 * @param eqDtos
	 * @param session
	 */
	void pushEquipmentData(List<ConfigurationEqDto> eqDtos, WebSocketSession session);

	/**
	 * 推送设备信息
	 * @param eqDtos
	 * @param channel
	 */
	void pushEquipmentData(List<ConfigurationEqDto> eqDtos, final Channel channel);

	/**
	 * 根据组态记录id获取 设备参数实时数据
	 * @param configurationId
	 * @return
	 */
	List<ConfigurationEqDto> getEquipmentRealData(String configurationId);

	/**
	 * 推送设备告警信息
	 */
	void pushAlarmEquipmentData(List<EquipAlarmDataDto> alarmMsg, WebSocketSession session);
	
	

}
